#pragma once
#include "Predicate.h"
#include "Node.h"
#include "Variables.h"

class Operand : public Node
{
public:
	Operand(void);
	Operand(std::string, bool, DataType, unsigned int, Node *);
	~Operand(void);
	int getType() const;
	bool isConst() const;
	DataType getDataType() const;
	void clone(Node**);
	void print (std::string&);
	bool checkNode(std::vector<Variables> &, const Node*);
	std::string getValue(std::vector<Variables>);
	void setValue(std::vector<Variables> &, std::string);
private:
	DataType _dataType;
	bool _isConst;
};

